﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using SIM.Geo.BE;
using SIM.Geo.BL;

namespace SIM.Geo.SE
{
    // NOTA: puede usar el comando "Rename" del menú "Refactorizar" para cambiar el nombre de clase "SEPuntoTopografico" en el código, en svc y en el archivo de configuración a la vez.
    public class SEPuntoTopografico : ISEPuntoTopografico
    {
        #region ISEPuntoTopografico Members
        /// <summary>
        /// Operación que devuelve lista de puntos topográficos
        /// </summary>
        /// <returns></returns>
        public List<PuntoTopografico> ListarPuntoTopografico()
        {
            try
            {
                return new BLPuntoTopografico().ListarPuntoTopografico();
            }
            catch (Exception)
            {
                throw;
            }
        }
        /// <summary>
        /// Operación insertar un punto topográfico
        /// </summary>
        /// <param name="puntotopografico"></param>
        /// <returns></returns>
        public int InsertarPuntoTopografico(PuntoTopografico puntotopografico)
        {
            try
            {
                return new BLPuntoTopografico().InsertarPuntoTopografico(puntotopografico);
            }
            catch (Exception)
            {
                throw;
            }
        }
        /// <summary>
        /// Operación que modifica un punto topográfico
        /// </summary>
        /// <param name="puntotopografico"></param>
        public void ModificarPuntoTopografico(PuntoTopografico puntotopografico)
        {
            try
            {
                new BLPuntoTopografico().ModificarPuntoTopografico(puntotopografico);
            }
            catch (Exception)
            {
                throw;
            }
        }
        /// <summary>
        /// Operación que eliminar Punto Topográfico
        /// </summary>
        /// <param name="codigoPuntoTopografico"></param>
        public void EliminarPuntoTopografico(int codigoPuntoTopografico)
        {
            try
            {
                new BLPuntoTopografico().EliminarPuntoTopografico(codigoPuntoTopografico);
            }
            catch (Exception)
            {
                throw;
            }
        }
        /// <summary>
        /// Operación que obtiene un punto topografico por codigo
        /// </summary>
        /// <param name="codigoPuntoTopografico"></param>
        /// <returns></returns>
        public PuntoTopografico ObtenerPuntoTopografico(int codigoPuntoTopografico)
        {
            try
            {
                return new BLPuntoTopografico().ObtenerPuntoTopografico(codigoPuntoTopografico);
            }
            catch (Exception)
            {
                throw;
            }
        }
        #endregion

        #region ISEPuntoTopografico Members
        /// <summary>
        /// Operación que devuelve una lista para llenar el ComboBox, DropDownList
        /// </summary>
        /// <returns></returns>
        public List<ListItemInt> ObtenerListItem()
        {
            try
            {
                return new BLPuntoTopografico().ObtenerListItem();
            }
            catch (Exception)
            {
                throw;
            }
        }

        public List<PuntoTopografico> ListarPuntoTopograficoPorNombre(string nombrePuntoTopografico)
        {
            try
            {
                return new BLPuntoTopografico().ListarPuntoTopograficoPorNombre(nombrePuntoTopografico);
            }
            catch (Exception)
            {
                throw;
            }
        }
        #endregion

        #region ISECuerpo Members
        public int GenerarCodigoPuntoTopografico()
        {
            try
            {
                return new BLPuntoTopografico().GenerarCodigoPuntoTopografico();
            }
            catch (Exception)
            {

                throw;
            }
        }
        #endregion

    }
}
